package com.wicket.okrapp.biz.service.dto.req;

import com.wicket.okrapp.biz.service.dto.common.CycleStageAttaPicDto;
import com.wicket.okrapp.biz.service.dto.common.CycleStageDataAttDocDto;
import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc ImplementWrokTaskReportBusinessProcessReqDto
 * @使用场景
 */
@Data
public class ImplementWrokTaskReportBusinessProcessReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 周期阶段资料记录ID
   */
  @ApiModelProperty("周期阶段资料记录ID")
  private String cycleStageDataId;

  /**
   * 任务ID
   */
  @NotNull(message = "任务ID不能为空")
  @ApiModelProperty("任务ID")
  private String taskId;

  /**
   * 进度值（数值）
   */
  @NotNull(message = "进度值（数值）不能为空")
  @ApiModelProperty("进度值（数值）")
  private Double progressValue;

  /**
   * 工作任务总结内容
   */
  @NotNull(message = "工作任务总结内容不能为空")
  @ApiModelProperty("工作任务总结内容")
  private String workTaskSumCon;

  /**
   * 资料文字概要
   */
  @NotNull(message = "资料文字概要不能为空")
  @ApiModelProperty("资料文字概要")
  private String textSummaryData;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  /**
   * 创建于空间ID
   */
  @NotNull(message = "创建于空间ID不能为空")
  @ApiModelProperty("创建于空间ID")
  private String spaceId;

  @ApiModelProperty("周期阶段资料内容图片列表")
  private List<CycleStageAttaPicDto> cycleStageAttaPicList = new ArrayList<>();

  @ApiModelProperty("周期阶段资料附件列表")
  private List<CycleStageDataAttDocDto> cycleStageDataAttDocList = new ArrayList<>();

}
